/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package BUS;

import DAO.DAO;
import GUI.FrameControlDanhMuc.jframeTimSach;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Endlesslove
 */
public class ViTri implements IDaTa
{

    //Lay quyen han voi ma vi tri cho truoc
    @Override
    public ResultSet Search(DTO.Idata Obj) 
    {
        try
        {
            List<String> params = new ArrayList<>();
            params.add("char:" +  ((DTO.ViTri)Obj).getID()) ;//ma vi tri
            return DAO.CallProc("LayQuyenHan", params);
            
        } 
        catch (Exception ex) 
        {
            Logger.getLogger(jframeTimSach.class.getName()).log(Level.SEVERE, null, ex);
            return null;
        }
    }

    @Override
    public boolean Update(DTO.Idata Obj) 
    {
        List<String> params = new ArrayList<>();
        params.add("char:" +  ((DTO.ViTri)Obj).getID()) ;//ma vi tri
        params.add("nvarchar:" +  ((DTO.ViTri)Obj).TenViTri);//ten vi tri
        params.add("bit:" +  ((DTO.ViTri)Obj).NhapSach);//nhap sach
        params.add("bit:" +  ((DTO.ViTri)Obj).LapHoaDon );//lap hoa don
        params.add("bit:" + ((DTO.ViTri)Obj).TraCuuSach);//tra cuu sach
        params.add("bit:" + ((DTO.ViTri)Obj).LapPhieuThuTien);//lap phieu thu tien
        params.add("bit:" + ((DTO.ViTri)Obj).LapBaoCao);//lap bao cao
        params.add("bit:" + ((DTO.ViTri)Obj).ThayDoiQuyDinh);//thay doi quy dinh
        params.add("bit:" + ((DTO.ViTri)Obj).PhanQuyen);//phan quyen
        return DAO.CallProc("SuaViTri", params, true);
    }

    @Override
    public boolean Delete(DTO.Idata Obj) 
    {
        List<String> params = new ArrayList<>();
        params.add("char:" + ((DTO.ViTri)Obj).getID());
        return DAO.CallProc("XoaViTri", params, true);
    }

    @Override
    public void LoadData(Object Obj) 
    {
        
    }

    @Override
    public boolean Insert(DTO.Idata Obj)
    {
        //        @MaViTri char(10),
        //          @TenViTri nvarchar(200),
        //          @NhapSach bit,
        //          @LapHoaDon bit,
        //          @TraCuuSach bit,
        //          @LapPhieuThuTien bit,
        //          @LapBaoCao bit,
        //          @ThayDoiQuyDinh bit,
        //          @PhanQuyen bit
        List<String> params = new ArrayList<>();
        params.add("char:" +  ((DTO.ViTri)Obj).getID()) ;//ma vi tri
        params.add("nvarchar:" +  ((DTO.ViTri)Obj).TenViTri);//ten vi tri
        params.add("bit:" +  ((DTO.ViTri)Obj).NhapSach );//nhap sach
        params.add("bit:" +  ((DTO.ViTri)Obj).LapHoaDon );//lap hoa don
        params.add("bit:" + ((DTO.ViTri)Obj).TraCuuSach);//tra cuu sach
        params.add("bit:" + ((DTO.ViTri)Obj).LapPhieuThuTien);//lap phieu thu tien
        params.add("bit:" + ((DTO.ViTri)Obj).LapBaoCao);//lap bao cao
        params.add("bit:" + ((DTO.ViTri)Obj).ThayDoiQuyDinh);//thay doi quy dinh
        params.add("bit:" + ((DTO.ViTri)Obj).PhanQuyen);//phan quyen
        return DAO.CallProc("ThemViTri", params, true);
    }
    
    @Override
    public String GenerateID()
    {
        return null;
    }
}
